/**
 * 装备 基类
 */
export interface EquipTpl {
  id?: number; // 装备唯一标识ID
  name?: string; // 装备显示名称
  icon?: string; // 装备图标资源路径
  description?: string; // 装备详细描述文本
  type?: number; // 装备分类类型

  grade?: number; // 装备品级 (原: type?: number; // 装备品级)
  levelLimited?: boolean; // 装备是否限制等级 (原: type?: number; // 装备是否限制等级)
  levelLimit?: number; // 装备限制等级数 (原: type?: number; // 装备限制等级数)
 

  // 核心攻击属性组
  attack?: number; // 基础攻击力数值
  attackPercent?: number; // 基础攻击力数值百分比
  attackFixed?: boolean; // 攻击力是否固定(1:可成长 0:固定值)
  attackGrowth?: string; // 攻击力成长公式
  attackPercentGrowth?: string; // 攻击力百分比成长公式

  // 核心防御属性组
  defense?: number; // 基础防御力数值
  defensePercent?: number; // 基础防御力数值百分比
  defenseFixed?: boolean; // 防御力是否固定(1:可成长 0:固定值)（原接口少了?，按表默认值补为可选）
  defenseGrowth?: string; // 防御力成长公式
  defensePercentGrowth?: string; // 防御力百分比成长公式

  // 速度属性组
  speed?: number; // 基础速度数值
  speedPercent?: number; // 基础速度数值百分比
  speedFixed?: boolean; // 速度是否固定(1:可成长 0:固定值)
  speedGrowth?: string; // 速度成长公式
  speedPercentGrowth?: string; // 速度百分比成长公式

  // 法力属性组
  mana?: number; // 基础法力值
  manaPercent?: number; // 基础法力值百分比
  manaFixed?: boolean; // 法力是否固定(1:可成长 0:固定值)
  manaGrowth?: string; // 法力成长公式
  manaPercentGrowth?: string; // 法力百分比成长公式

  // 精力属性组
  energy?: number; // 基础精力值
  energyPercent?: number; // 基础精力值百分比
  energyFixed?: boolean; // 精力是否固定(1:可成长 0:固定值)
  energyGrowth?: string; // 精力成长公式
  energyPercentGrowth?: string; // 精力百分比成长公式

  // 生命属性组
  hp?: number; // 基础生命值
  hpPercent?: number; // 基础生命值百分比
  hpFixed?: boolean; // 生命是否固定(1:可成长 0:固定值)
  hpGrowth?: string; // 生命成长公式
  hpPercentGrowth?: string; // 生命百分比成长公式

  // 暴击率属性组
  critical?: number; // 基础暴击率(百分比数值)
  criticalPercent?: number; // 基础暴击率百分比
  criticalFixed?: boolean; // 暴击率是否固定
  criticalGrowth?: string; // 暴击率成长公式
  criticalPercentGrowth?: string; // 暴击率百分比成长公式

  // 暴击伤害属性组 
  critDamage?: number; // 基础暴击伤害
  critDamagePercent?: number; // 基础暴击伤害百分比
  critDamageFixed?: boolean; // 暴击伤害是否固定
  critDamageGrowth?: string; // 暴击伤害成长公式
  critDamagePercentGrowth?: string; // 暴击伤害百分比成长公式

  // 命中组
  hit?: number; // 基础命中值
  hitPercent?: number; // 基础命中值百分比
  hitFixed?: boolean; // 命中是否固定
  hitGrowth?: string; // 命中成长公式
  hitPercentGrowth?: string; // 命中百分比成长公式

  // 闪避组
  dodge?: number; // 基础闪避值
  dodgePercent?: number; // 基础闪避值百分比
  dodgeFixed?: boolean; // 闪避是否固定
  dodgeGrowth?: string; // 闪避成长公式
  dodgePercentGrowth?: string; // 闪避百分比成长公式

  // 抗性属性组 - 抗暴击伤害
  resistCritDamage?: number; // 抗暴击伤害倍数
  resistCritDamagePercent?: number; // 抗暴击伤害倍数百分比
  resistCritDamageFixed?: boolean; // 抗暴击伤害是否固定
  resistCritDamageGrowth?: string; // 抗暴击伤害成长公式
  resistCritDamagePercentGrowth?: string; // 抗暴击伤害百分比成长公式

  // 抗性属性组 - 抗暴击率
  resistCritical?: number; // 抗暴击率(百分比)
  resistCriticalPercent?: number; // 抗暴击率百分比
  resistCriticalFixed?: boolean; // 抗暴击率是否固定
  resistCriticalGrowth?: string; // 抗暴击率成长公式
  resistCriticalPercentGrowth?: string; // 抗暴击率百分比成长公式

  // 抗性属性组 - 抗物理
  resistPhysicDamage?: number; // 抗物理
  resistPhysicDamagePercent?: number; // 抗物理百分比
  resistPhysicDamageFixed?: boolean; // 抗物理是否固定
  resistPhysicDamageGrowth?: string; // 抗物理成长公式
  resistPhysicDamagePercentGrowth?: string; // 抗物理百分比成长公式

  // 抗性属性组 - 抗技能
  resistSkillDamage?: number; // 抗技能
  resistSkillDamagePercent?: number; // 抗技能百分比
  resistSkillDamageFixed?: boolean; // 抗技能是否固定
  resistSkillDamageGrowth?: string; // 抗技能成长公式
  resistSkillDamagePercentGrowth?: string; // 抗技能百分比成长公式

  // 抗性属性组 - 逆抗物理
  resistResistPhysicDamage?: number; // 逆抗物理
  resistResistPhysicDamagePercent?: number; // 逆抗物理百分比
  resistResistPhysicDamageFixed?: boolean; // 逆抗物理是否固定
  resistResistPhysicDamageGrowth?: string; // 逆抗物理成长公式
  resistResistPhysicDamagePercentGrowth?: string; // 逆抗物理百分比成长公式

  // 抗性属性组 - 逆抗技能
  resistResistSkillDamage?: number; // 逆抗技能
  resistResistSkillDamagePercent?: number; // 逆抗技能百分比
  resistResistSkillDamageFixed?: boolean; // 逆抗技能是否固定
  resistResistSkillDamageGrowth?: string; // 逆抗技能成长公式
  resistResistSkillDamagePercentGrowth?: string; // 逆抗技能百分比成长公式

  // 抗性属性组 - 抗混乱
  resistConfuse?: number; // 抗混乱值
  resistConfusePercent?: number; // 抗混乱百分比
  resistConfuseFixed?: boolean; // 抗混乱是否固定
  resistConfuseGrowth?: string; // 抗混乱成长公式
  resistConfusePercentGrowth?: string; // 抗混乱百分比成长公式

  // 抗性属性组 - 抗封印
  resistSeal?: number; // 抗封印值
  resistSealPercent?: number; // 抗封印百分比
  resistSealFixed?: boolean; // 抗封印是否固定
  resistSealGrowth?: string; // 抗封印成长公式
  resistSealPercentGrowth?: string; // 抗封印百分比成长公式

  // 抗性属性组 - 抗昏睡
  resistSleep?: number; // 抗昏睡值
  resistSleepPercent?: number; // 抗昏睡百分比
  resistSleepFixed?: boolean; // 抗昏睡是否固定
  resistSleepGrowth?: string; // 抗昏睡成长公式
  resistSleepPercentGrowth?: string; // 抗昏睡百分比成长公式

  // 抗性属性组 - 抗麻痹
  resistParalyze?: number; // 抗麻痹值
  resistParalyzePercent?: number; // 抗麻痹百分比
  resistParalyzeFixed?: boolean; // 抗麻痹是否固定
  resistParalyzeGrowth?: string; // 抗麻痹成长公式
  resistParalyzePercentGrowth?: string; // 抗麻痹百分比成长公式

  // 抗性属性组 - 抗诅咒
  resistCurse?: number; // 抗诅咒值
  resistCursePercent?: number; // 抗诅咒百分比
  resistCurseFixed?: boolean; // 抗诅咒是否固定
  resistCurseGrowth?: string; // 抗诅咒成长公式
  resistCursePercentGrowth?: string; // 抗诅咒百分比成长公式

  // 抗性属性组 - 抗人物伤害
  resistPlayer?: number; // 抗人物伤害值
  resistPlayerPercent?: number; // 抗人物伤害百分比
  resistPlayerFixed?: boolean; // 抗人物伤害是否固定
  resistPlayerGrowth?: string; // 抗人物伤害成长公式
  resistPlayerPercentGrowth?: string; // 抗人物伤害百分比成长公式

  // 抗性属性组 - 抗宠物伤害
  resistPet?: number; // 抗宠物伤害值
  resistPetPercent?: number; // 抗宠物伤害百分比
  resistPetFixed?: boolean; // 抗宠物伤害是否固定
  resistPetGrowth?: string; // 抗宠物伤害成长公式
  resistPetPercentGrowth?: string; // 抗宠物伤害百分比成长公式

  // 技能系统
  skills?: number[]; // 关联技能ID列表(VARCHAR(512)数组格式，如[101,102,103])

  // 宝石系统
  gemSocketsInit?: number; // 初始宝石孔数量
  gemSocketsMax?: number; // 最大宝石孔数量

  // 潜力系统
  initialPotential?: number; // 装备初始潜力值
  potentialGrowth?: string; // 潜力成长公式

  // 锻造系统
  canForge?: boolean; // 是否可锻造(0:不可锻造 1:可锻造)
  forgeNormalMax?: number; // 普通锻造最大次数
  forgeNormalRate?: number[]; // 普通锻造成功率(百分比数值),一组整数，如[100,90,80,70,60...]
  canSacred?: boolean; // 是否可圣锻(0:不可圣锻 1:可圣锻)
  forgeSacredMax?: number; // 圣锻最大次数
  forgeSacredRate?: number[]; // 圣锻成功率(百分比数值),一组整数，如[100,90,80,70,60...]

  // 镶嵌系统
  maxPearls?: number; // 人物宝珠镶嵌最大数量
  maxRunes?: number; // 符文镶嵌最大数量
  maxEnchant?: number; // 附魔最大数量

  // 套装系统
  suitId?: number; // 套装id

  //符文系统
  canInlayRune?: boolean, // 是否可以镶嵌符文
  maxActiveRunes?: number, // 主动符文最大数量
  maxPassiveRunes?: number, // 被动符文最大数量

  // 价格
  sellPrice?: number; // 出售价格
  sellPriceType?: number; // 出售价格类型（0:铜钱 1:元宝 2:绑定元宝 3:积分等）

  // 系统字段
  createTime?: string; // 创建时间（数据库TIMESTAMP对应前端字符串格式）
  updateTime?: string; // 更新时间（数据库TIMESTAMP对应前端字符串格式）
  status?: number;// 状态字段  -1删除，0正常
}

// 创建默认装备实体的函数
export function createEquipTpl(): EquipTpl {
  return {
  // 基础标识字段
  id: 0,
  name: '',
  icon: '',
  description: '', // 补充：默认空字符串
  type: 0, // 表默认0


  // 核心攻击属性组
  attack: 0, // 表默认0
  attackPercent: 0, // 表默认0
  attackFixed: false, // 表默认0（对应false）
  attackGrowth: '', // 补充：默认空字符串（公式字段）
  attackPercentGrowth: '', // 补充：默认空字符串


  // 核心防御属性组
  defense: 0, // 表默认0
  defensePercent: 0, // 表默认0
  defenseFixed: false, // 表默认0（对应false）
  defenseGrowth: '', // 补充：默认空字符串
  defensePercentGrowth: '', // 补充：默认空字符串


  // 速度属性组
  speed: 0, // 表默认0
  speedPercent: 0, // 表默认0
  speedFixed: false, // 表默认0（对应false）
  speedGrowth: '', // 补充：默认空字符串
  speedPercentGrowth: '', // 补充：默认空字符串


  // 法力属性组
  mana: 0, // 表默认0
  manaPercent: 0, // 表默认0
  manaFixed: false, // 表默认0（对应false）
  manaGrowth: '', // 补充：默认空字符串
  manaPercentGrowth: '', // 补充：默认空字符串


  // 精力属性组
  energy: 0, // 表默认0
  energyPercent: 0, // 表默认0
  energyFixed: false, // 表默认0（对应false）
  energyGrowth: '', // 补充：默认空字符串
  energyPercentGrowth: '', // 补充：默认空字符串


  // 生命属性组
  hp: 0, // 表默认0
  hpPercent: 0, // 表默认0
  hpFixed: false, // 表默认0（对应false）
  hpGrowth: '', // 补充：默认空字符串
  hpPercentGrowth: '', // 补充：默认空字符串


  // 暴击属性组
  critical: 0, // 表默认0
  criticalPercent: 0, // 表默认0
  criticalFixed: false, // 表默认0（对应false）
  criticalGrowth: '', // 补充：默认空字符串
  criticalPercentGrowth: '', // 补充：默认空字符串
  critDamage: 0, // 表默认0
  critDamagePercent: 0, // 表默认0
  critDamageFixed: false, // 表默认0（对应false）
  critDamageGrowth: '', // 补充：默认空字符串
  critDamagePercentGrowth: '', // 补充：默认空字符串


  // 命中闪避组
  hit: 0, // 表默认0
  hitPercent: 0, // 表默认0
  hitFixed: false, // 表默认0（对应false）
  hitGrowth: '', // 补充：默认空字符串
  hitPercentGrowth: '', // 补充：默认空字符串
  dodge: 0, // 表默认0
  dodgePercent: 0, // 表默认0
  dodgeFixed: false, // 表默认0（对应false）
  dodgeGrowth: '', // 补充：默认空字符串
  dodgePercentGrowth: '', // 补充：默认空字符串


  // 抗性属性组 - 抗暴击伤害
  resistCritDamage: 0, // 表默认0
  resistCritDamagePercent: 0, // 表默认0
  resistCritDamageFixed: false, // 表默认0（对应false）
  resistCritDamageGrowth: '', // 补充：默认空字符串
  resistCritDamagePercentGrowth: '', // 补充：默认空字符串


  // 抗性属性组 - 抗暴击率
  resistCritical: 0, // 表默认0
  resistCriticalPercent: 0, // 表默认0
  resistCriticalFixed: false, // 表默认0（对应false）
  resistCriticalGrowth: '', // 补充：默认空字符串
  resistCriticalPercentGrowth: '', // 补充：默认空字符串


  // 抗性属性组 - 抗物理
  resistPhysicDamage: 0, // 表默认0
  resistPhysicDamagePercent: 0, // 表默认0
  resistPhysicDamageFixed: false, // 表默认0（对应false）
  resistPhysicDamageGrowth: '', // 补充：默认空字符串
  resistPhysicDamagePercentGrowth: '', // 补充：默认空字符串


  // 抗性属性组 - 抗技能
  resistSkillDamage: 0, // 表默认0
  resistSkillDamagePercent: 0, // 表默认0
  resistSkillDamageFixed: false, // 表默认0（对应false）
  resistSkillDamageGrowth: '', // 补充：默认空字符串
  resistSkillDamagePercentGrowth: '', // 补充：默认空字符串


  // 抗性属性组 - 逆抗物理
  resistResistPhysicDamage: 0, // 表默认0
  resistResistPhysicDamagePercent: 0, // 表默认0
  resistResistPhysicDamageFixed: false, // 表默认0（对应false）
  resistResistPhysicDamageGrowth: '', // 补充：默认空字符串
  resistResistPhysicDamagePercentGrowth: '', // 补充：默认空字符串


  // 抗性属性组 - 逆抗技能
  resistResistSkillDamage: 0, // 表默认0
  resistResistSkillDamagePercent: 0, // 表默认0
  resistResistSkillDamageFixed: false, // 表默认0（对应false）
  resistResistSkillDamageGrowth: '', // 补充：默认空字符串
  resistResistSkillDamagePercentGrowth: '', // 补充：默认空字符串


  // 抗性属性组 - 抗混乱
  resistConfuse: 0, // 表默认0
  resistConfusePercent: 0, // 表默认0
  resistConfuseFixed: false, // 表默认0（对应false）
  resistConfuseGrowth: '', // 补充：默认空字符串
  resistConfusePercentGrowth: '', // 补充：默认空字符串


  // 抗性属性组 - 抗封印
  resistSeal: 0, // 表默认0
  resistSealPercent: 0, // 表默认0
  resistSealFixed: false, // 表默认0（对应false）
  resistSealGrowth: '', // 补充：默认空字符串
  resistSealPercentGrowth: '', // 补充：默认空字符串


  // 抗性属性组 - 抗昏睡
  resistSleep: 0, // 表默认0
  resistSleepPercent: 0, // 表默认0
  resistSleepFixed: false, // 表默认0（对应false）
  resistSleepGrowth: '', // 补充：默认空字符串
  resistSleepPercentGrowth: '', // 补充：默认空字符串


  // 抗性属性组 - 抗麻痹
  resistParalyze: 0, // 表默认0
  resistParalyzePercent: 0, // 表默认0
  resistParalyzeFixed: false, // 表默认0（对应false）
  resistParalyzeGrowth: '', // 补充：默认空字符串
  resistParalyzePercentGrowth: '', // 补充：默认空字符串


  // 抗性属性组 - 抗诅咒
  resistCurse: 0, // 表默认0
  resistCursePercent: 0, // 表默认0
  resistCurseFixed: false, // 表默认0（对应false）
  resistCurseGrowth: '', // 补充：默认空字符串
  resistCursePercentGrowth: '', // 补充：默认空字符串


  // 抗性属性组 - 抗人物伤害
  resistPlayer: 0, // 表默认0
  resistPlayerPercent: 0, // 表默认0
  resistPlayerFixed: false, // 表默认0（对应false）
  resistPlayerGrowth: '', // 补充：默认空字符串
  resistPlayerPercentGrowth: '', // 补充：默认空字符串


  // 抗性属性组 - 抗宠物伤害
  resistPet: 0, // 表默认0
  resistPetPercent: 0, // 表默认0
  resistPetFixed: false, // 表默认0（对应false）
  resistPetGrowth: '', // 补充：默认空字符串
  resistPetPercentGrowth: '', // 补充：默认空字符串


  // 技能系统
  skills: [], // 补充：默认空数组


  // 宝石系统
  gemSocketsInit: 0, // 表默认0
  gemSocketsMax: 3, // 表默认3（补充：原方法默认0，修正为表结构默认值）


  // 潜力系统
  initialPotential: 100, // 表默认100（补充：原方法默认0，修正为表结构默认值）
  potentialGrowth: '', // 补充：默认空字符串


  // 锻造系统
  canForge: false, // 表默认0（对应false）
  forgeNormalMax: 15, // 表默认15（补充：原方法默认0，修正为表结构默认值）
  forgeNormalRate: [], // 补充：默认空数组
  canSacred: false, // 表默认0（对应false）
  forgeSacredMax: 15, // 表默认15（补充：原方法默认0，修正为表结构默认值）
  forgeSacredRate: [], // 补充：默认空数组


  // 镶嵌系统
  maxPearls: 0, // 表默认0（补充）
  maxRunes: 0, // 表默认0（补充）
  maxEnchant: 0, // 表默认0（补充）


  // 套装系统
  suitId: 0, // 表默认0


  // 系统字段
  createTime: new Date().toISOString(), // 保持原逻辑：当前时间ISO格式
  updateTime: new Date().toISOString(), // 保持原逻辑：当前时间ISO格式

  //符文系统
  canInlayRune: false,
  maxActiveRunes: 0,
  maxPassiveRunes: 0
};
}